<?php

// $Id: mainmenu.php,v 1.13 2008/01/13 00:52:56 roflo1 Exp $

	session_start();

	/* load settings */

	if (!isset($_CONFIG))

		require 'config.php'; // archivo donde se declaran y asignan valores a las variables que utilizaremos para establecer conexión con nuestro servidor.
							  //... igualmente se declaran variables  para cada una de nuestras tablas.


	 /*load external functions for setting up new game */


	require 'chessutils.php'; // contiene funciones que controlan movimientos de las piezas.
/* en maquinaria_mainmenu.php 
	require 'chessconstants.php'; //define y asigna varalores a unas constantes que hacen referencia a el nombre de las piezas y sus posiciones en el tablero.

	require 'newgame.php'; // coloca todas las piezas del ajedrez en su posición inicial del tablero. (blancas y negras).

	require 'chessdb.php'; // funciones para leer y/o guardar/cambiar datos de nuestras tablas. Datos relacionados con nuestras partidas, posiciones de las piezas ...
*/ 
 //todas:
        require 'lang.php'; // para definir el lenguaje y la hora local de España

	/* allow WebChess to be run on PHP systems < 4.1.0, using old http vars */
//todas
	fixOldPHPVersions(); // esta función se encuentra en chessutils.php, Sirve para comprobar la versión de php que se utiliza en el servidor.
						// ..., si fuese una versión que no soportase el formato de variables del sistema  que se utiliza en este programa, haría la 
						// ....... correspondiente transformación de formato.



	/* if this page is accessed directly (ie: without going through login), */

	/* connect to database */
//todas:
	require 'connectdb.php'; // establece conexión con la base de datos. Contempla el caso de que no hallamos declarado las varibles que se utilizan
							// ... en la función de conexión. Si fuese así, incluiría la declaración de esas variables, incluyendo  'config.php'



	/* cleanup dead games */

	/* determine threshold for oldest game permitted */
//todas
	$targetDate = date("Y-m-d", mktime(0,0,0, date('m'), date('d') - $CFG_EXPIREGAME, date('Y'))); // establece el límete de fecha para terminar una partida.

	/* find out which games are older */

	$tmpNewUser = false; //inicializamos esta variable a false

	$errMsg = "";

	switch($_POST['ToDo']) //Todo corresponde al valor de un input oculto que figura en los formularios, tanto en el formulario de index.php, como el formulario de newuser.php.
		                   // ...su valor nos indicará desde que formulario ha sido llamado.
	{
 
 //todas
		case 'UpdatePersonalInfo': // En el caso de que pulsemos sobre 'Datos Personales', del menú principal que se encuentra en todas las páginas principales.

			$tmpQuery = "SELECT password FROM " . $CFG_TABLE[players] . " WHERE playerID = ".$_SESSION['playerID'];

			$tmpPassword = mysql_query($tmpQuery);

			$dbPassword = mysql_result($tmpPassword, 0);


			if ($dbPassword != $_POST['pwdOldPassword'])

				$errMsg = "Clave antigua incorrecta!";

			else

			{

				$tmpDoUpdate = true;

				if ($CFG_NICKCHANGEALLOWED)

				{

					$tmpQuery = "SELECT playerID FROM " . $CFG_TABLE[players] . " WHERE nick = '".$_POST['txtNick']."' AND playerID <> ".$_SESSION['playerID'];

					$existingUsers = mysql_query($tmpQuery);



					if (mysql_num_rows($existingUsers) > 0)

					{

						$errMsg = "Este usuario ya existe.";

						$tmpDoUpdate = false;

					}

				}

				if ($tmpDoUpdate)

				{

					/* update DB */

					$tmpQuery = "UPDATE " . $CFG_TABLE[players] . " SET firstName = '".$_POST['txtFirstName']."', lastName = '".$_POST['txtLastName']."', password = '".$_POST['pwdPassword']."'";



					if ($CFG_NICKCHANGEALLOWED && $_POST['txtNick'] != "")

						$tmpQuery .= ", nick = '".$_POST['txtNick']."'";



					$tmpQuery .= " WHERE playerID = ".$_SESSION['playerID'];

					mysql_query($tmpQuery);



					/* update current session */

					$_SESSION['playerName'] = $_POST['txtFirstName']." ".$_POST['txtLastName'];

					$_SESSION['firstName'] = $_POST['txtFirstName'];

					$_SESSION['lastName'] = $_POST['txtLastName'];



					if ($CFG_NICKCHANGEALLOWED && $_POST['txtNick'] != "")

						$_SESSION['nick'] = $_POST['txtNick'];

				}

			}

			break;

//todas

		case 'UpdatePrefs': // En el caso de que pulsemos sobre la opción 'Preferencias' del menú principal que tienen todas las páginas principales

			/* Theme */

			$tmpQuery = "UPDATE " . $CFG_TABLE[preferences] . " SET value = '".$_POST['rdoTheme']."' WHERE playerID = ".$_SESSION['playerID']." AND preference = 'theme'";

			mysql_query($tmpQuery);

			/* History format */

			$tmpQuery = "UPDATE " . $CFG_TABLE[preferences] . " SET value = '".$_POST['rdoHistory']."' WHERE playerID = ".$_SESSION['playerID']." AND preference = 'history'";

			mysql_query($tmpQuery);



			/* History layout */

			$tmpQuery = "UPDATE " . $CFG_TABLE[preferences] . " SET value = '".$_POST['rdoHistorylayout']."' WHERE playerID = ".$_SESSION['playerID']." AND preference = 'historylayout'";

			mysql_query($tmpQuery);

			/* Auto-Reload */

			if (is_numeric($_POST['txtReload']))

			{

				if (intval($_POST['txtReload']) >= $CFG_MINAUTORELOAD)

					$tmpQuery = "UPDATE " . $CFG_TABLE[preferences] . " SET value = ".$_POST['txtReload']." WHERE playerID = ".$_SESSION['playerID']." AND preference = 'autoreload'";

				else

					$tmpQuery = "UPDATE " . $CFG_TABLE[preferences] . " SET value = ".$CFG_MINAUTORELOAD." WHERE playerID = ".$_SESSION['playerID']." AND preference = 'autoreload'";



				mysql_query($tmpQuery);

			}

			/* Email Notification */

			if ($CFG_USEEMAILNOTIFICATION)

			{

				$tmpQuery = "UPDATE " . $CFG_TABLE[preferences] . " SET value = '".$_POST['txtEmailNotification']."' WHERE playerID = ".$_SESSION['playerID']." AND preference = 'emailnotification'";

				mysql_query($tmpQuery);

			}



			/* update current session */ //

			$_SESSION['pref_history'] = $_POST['rdoHistory'];

			$_SESSION['pref_historylayout'] = $_POST['rdoHistorylayout'];

			$_SESSION['pref_theme'] =  $_POST['rdoTheme'];



			if (is_numeric($_POST['txtReload']))

			{

				if (intval($_POST['txtReload']) >= $CFG_MINAUTORELOAD)

				{

					$_SESSION['pref_autoreload'] = intval($_POST['txtReload']);

				}

				else

					$_SESSION['pref_autoreload'] = $CFG_MINAUTORELOAD;

			} else

				$_SESSION['pref_autoreload'] = $CFG_MINAUTORELOAD;



			if ($CFG_USEEMAILNOTIFICATION)

				$_SESSION['pref_emailnotification'] = $_POST['txtEmailNotification'];

			break;



	} // fin del switich principal


	/* check session status */

	require 'sessioncheck.php'; //



	/* set default playing mode to different PCs (as opposed to both players sharing a PC) */

	$_SESSION['isSharedPC'] = false;

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="author" content="Pedro Salazar, Roberto Sánchez"/>
<link rel="stylesheet" href="mainmenu.css" type="text/css" />
<script type="text/javascript" src="javascript/tablesort.js"></script>
<script type="text/javascript" src="javascript/menu.js"></script>
<script type="text/javascript" src="javascript/messages.js"></script>
<title><?php echo gettext("Pedroyrosa.es") . " :: " . gettext("Menu Principal");?></title>
	
<script type="text/javascript">	<? include "javascript/funciones.js" ?> </script>

</head>
<body>
	<div id="header">
	  <div id="heading">Pedroyrosa.es</div>
	</div>
<div id="content">
<div id="navcontainer">
<?php
 include "enlaces_jugadores.php"
?>
</div>
<div id="rightcolumn">


<div id="viewgame2">
	<div class="ctr" align="center">
		<div class="preferences">
			<div class="preferences-form">
				<form name="endedGames" action="chess.php" method="post">
				<div class="form-block">
                                        <h1><?php echo gettext("Ver partidas finalizadas.");?></h1>
                                                <div class="inputlabel"><?php echo gettext("Selecciona una partida para reproducir");?></div>
						<table>
						<thead>
						  <tr>
                                                      <th class="mainHeader" colspan="8"><?php echo gettext("Partidas terminadas");?></th>
						  </tr>
						  <tr>
                                                      <th style="text-align:left;display:none;"><?php echo gettext("Rank");?></th>
                                                      <th style="text-align:left;"><a href="" onclick="this.blur(); return sortTable('finishedTblBdy', 1, true);" title="Game Id"><?php echo gettext("Id");?></a></th>
                                                      <th style="text-align:left;"><a href="" onclick="this.blur(); return sortTable('finishedTblBdy', 2, true);" title="White's handle"><?php echo gettext("Blancas");?></a></th>
                                                      <th style="text-align:left;"><a href="" onclick="this.blur(); return sortTable('finishedTblBdy', 3, true);" title="Black's handle"><?php echo gettext("Negras");?></a></th>
                                                      <th><a href="" onclick="this.blur(); return sortTable('finishedTblBdy',  4, true);" title="Moves"				 ><?php echo gettext("Mvs");?></a></th>
                                                      <th><a href="" onclick="this.blur(); return sortTable('finishedTblBdy',  5, true);" title="Game Result"			 ><?php echo gettext("Resultado");?></a></th>
                                                      <th><a href="" onclick="this.blur(); return sortTable('finishedTblBdy',  6, true);" title="Start Date of the Game"><?php echo gettext("Fecha inicio");?></a></th>
                                                      <th><a href="" onclick="this.blur(); return sortTable('finishedTblBdy',  7, true);" title="Date of Last Move"	 ><?php echo gettext("Ultimo mov.");?></a></th>
						  </tr>
						</thead>
						<tbody id="finishedTblBdy">
<?php
	$tmpGames = mysql_query("SELECT * FROM " . $CFG_TABLE[games] . " WHERE (gameMessage <> '' AND gameMessage <> 'playerInvited' AND gameMessage <> 'inviteDeclined') AND (whitePlayer = ".$_SESSION['playerID']." OR blackPlayer = ".$_SESSION['playerID'].") ORDER BY lastMove DESC");

	if (mysql_num_rows($tmpGames) == 0)
            echo("<tr><td colspan=\"6\">" . gettext("No tienes partidas finalizadas.") . "</td></tr>\n");
	else
	{
		$rowNbr = 0;
		while($tmpGame = mysql_fetch_array($tmpGames, MYSQL_ASSOC))
		{
			if($rowNbr %2 == 0)
				echo('<tr class="alternateRow">');
			else
				echo('<tr>');
			$rowNbr++;
			echo ('<td style="display:none;"></td>');
			echo('<td>');
			echo("<a href=\"javascript:loadEndedGame(".$tmpGame['gameID'].")\">".$tmpGame['gameID']."</a>");
			/* get white's nick */
			$tmpPlayer = mysql_query("SELECT nick FROM " . $CFG_TABLE[players] . " WHERE playerID = ".$tmpGame['whitePlayer']);
			$player = mysql_result($tmpPlayer, 0);
			echo ('</td><td>');
			echo($player);

			/* black's nick */
			$tmpPlayer = mysql_query("SELECT nick FROM " . $CFG_TABLE[players] . " WHERE playerID = ".$tmpGame['blackPlayer']);
			$player = mysql_result($tmpPlayer, 0);
			echo ("</td><td>");
			echo($player);

			/* Your Color */
			if ($tmpGame['whitePlayer'] == $_SESSION['playerID'])
			{
				$tmpColor = "white";
			}
			else
			{
				$tmpColor = "black";
			}

			/* get number of moves from history */
			$tmpNumMoves = mysql_query("SELECT COUNT(gameID) FROM " . $CFG_TABLE[history] . " WHERE gameID = ".$tmpGame['gameID']);
			$numMoves = mysql_result($tmpNumMoves,0);
			echo ('</td><td class="numeric">');
			echo(floor($numMoves / 2));
			/* Status */
			if (is_null($tmpGame['gameMessage']))
				echo("</td><td>");
			else
			{
				if ($tmpGame['gameMessage'] == "draw")
					echo("</td><td>½-½");
				else if ($tmpGame['gameMessage'] == "stalemate")
					echo("</td><td>½-½ (" . gettext("tablas") . ")");
				else if ($tmpGame['gameMessage'] == "playerResigned")
					echo("</td><td>".gettext($tmpGame['messageFrom'])." " . gettext("Abandona"));
				else if (($tmpGame['gameMessage'] == "checkMate") && ($tmpGame['messageFrom'] == $tmpColor))
					echo("</td><td>" . gettext("Jaque mate! Tu ganas"));
				else if ($tmpGame['gameMessage'] == "checkMate")
					echo("</td><td>" . gettext("Jaque mate!, pierdes"));
				else
					echo("</td><td>");
			}

			/* Start Date */
			echo ("</td><td>".substr($tmpGame['dateCreated'], 0, -3));
			/* Last Move */
			echo ("</td><td>".substr($tmpGame['lastMove'], 0, -3)."</td></tr>\n");
		}
	}
?>
	</tbody>
	</table>
	<input type="hidden" name="gameID" value="" />
	<input type="hidden" name="sharePC" value="no" />
	<div style="padding-top:10px;">
	<b><?php echo gettext("Advertencia!");?></b>
	<br />
        <?php echo gettext("Las partidas terminadas seran borradas sin avisar a los ") . " " . ($CFG_EXPIREGAME) . " " . gettext("dias!");?>
	</div>
	</div>
	</form>
</div>
			<div class="login-text">
				<div class="ctr"><img src="images/webchess.jpg" width="65" height="92" alt="security" /></div>
                                <p><?php echo gettext("Selecciona una partida para ver pulsando en su Id");?></p>
				<p></p>
			</div>
			<div class="clr"></div>
		</div>
	</div>
</div>
</div>
</div>
</body>
</html>
<?php mysql_close(); ?>

